home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
ms_dos
/
tool
/
dprint
/
dp_start.c
< prev
next >
Wrap
Text File
|
1995-01-01
|
4KB
|
167 lines
/*
8086|Printman/POSTCARD スタートアップモジュール
Copyright (c) 1993,94 Delmonta
*/
#include<stdlib.h>
#include<del_prn.h>
#include"dprint.h"
/*---------------------------------------------------------------------------*/
void dp_endscreen(enum ERRCODE errcode)
{
printf( "\033[2J"
"8086|Printman/POSTCARDを終了しました.\n");
exit(errcode);
}
/*---------------------------------------------------------------------------*/
void dp_puttitle(void)
{
printf( "\033[2J\033[0;37m"
"簡易データベース付き宛名印刷ソフト 8086|Printman/POSTCARD Version 1.00c\n"
" Copyright (c) 1993 Delmonta, all rights reserved." __DATE__ "\n"
"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
"\033[05;21f┌──────────────────┐\n"
"\033[06;21f│郵便番号 - │\n"
"\033[07;21f│住所(1) │\n"
"\033[08;21f│住所(2) │\n"
"\033[09;21f│住所(3) │\n"
"\033[10;21f│氏名(1) │\n"
"\033[11;21f│氏名(2) │\n"
"\033[12;21f└──────────────────┘\n"
);
dp_putfkey(0);
}
/*---------------------------------------------------------------------------*/
static void option_c(char mode)
{
switch(mode)
{
case 'N':
case 'n':
Prn_machine = PRNBIOS_NEC98;
break;
case 'F':
case 'f':
Prn_machine = PRNBIOS_TOWNS;
break;
case 'I':
case 'i':
Prn_machine = PRNBIOS_IBMPC;
break;
case 'J':
case 'j':
Prn_machine = PRNBIOS_J3100;
break;
default:
printf("コンピュータの機種の指定が不正です : -C%c\n",mode);
exit(EXITCODE_BADOPT);
}
}
/*---------------------------------------------------------------------------*/
static void option_p(char mode)
{
switch(mode)
{
case 'E':
case 'e':
Prn_mode = PRNMODE_ESCP;
break;
case 'M':
case 'm':
Prn_mode = PRNMODE_MSX;
break;
case 'N':
case 'n':
Prn_mode = PRNMODE_PCPR;
break;
case 'F':
case 'f':
Prn_mode = PRNMODE_FMPR;
break;
default:
printf("プリンタの機種の指定が不正です : -P%c\n",mode);
exit(EXITCODE_BADOPT);
}
}
/*---------------------------------------------------------------------------*/
int main(int argc,char *argv[])
{
unsigned int i;
dp_seterrhandler();
dflfile_init(argv[0]);
while (--argc)
{
argv++;
if (argv[0][0]!='-') /* オプションでない → データファイルの指定 */
goto main_ENDOPTION;
switch (argv[0][1])
{
case 'C':
case 'c':
option_c(argv[0][2]);
break;
case 'P':
case 'p':
option_p(argv[0][2]);
break;
case 'H':
case 'h':
case '?':
printf( "8086|Printman/POSTCARD Version 1.00a\n"
"Copyright (c) 1993 Delmonta, all rights reserved."
"\n"
"option:\n"
" -Cx コンピュータの指定\n"
" N=PC-9800, F=FMR/TOWNS, I=PC/AT, J=J-3100/AX\n"
"\n"
" -Px プリンタの指定\n"
" E=ESC/P24-J84, M=MSX漢字プリンタ, N=PC-PR201H\n"
"\n"
" -H -? ヘルプ(この画面)\n"
"\n");
exit(EXITCODE_BADOPT);
}
}
main_ENDOPTION:
dp_puttitle(); /* 画面初期化 */
/* カードへのポインタを初期化 */
for (i=0 ; i<MAXCARD ; i++)
Card[i] = (struct POSTCARD far *)NULL;
Cardnum = 0; /* カード枚数 = 0 */
if (argc!=0) /* パラメータを全て解析する前に中止した場合 */
{ /* すなわちデータファイル名が指定された場合 */
FILE *fp = fopen(argv[0],"r");
if (fp==NULL)
dp_errmes("指定されたデータファイルがオープンできません.");
else
dp_readfile(fp);
}
dp_main();
}